package com.xinguan.system.service;

import com.xinguan.common.baseVO.PageVO;
import com.xinguan.system.entity.InStock;
import com.xinguan.system.vo.InStockDetailVO;
import com.xinguan.system.vo.InStockVO;

import java.util.List;

/**
 * @author lawrence
 * @create 2020-11-10
 */
public interface InStockService {

    /**
     * 物资入库
     * @param inStockVO
     */
    void addIntoStock(InStockVO inStockVO);

    /**
     * 入库单列表
     * @param pageNum
     * @param pageSize
     * @param inStockVO
     * @return
     */
    PageVO<InStockVO> findInStockList(Integer pageNum, Integer pageSize, InStockVO inStockVO);

    /**
     * 入库单明细
     * @param id
     * @return
     */
    InStockDetailVO detail(Long id, int pageNo, int pageSize);

    /**
     * 删除入库单
     * @param id
     */
    void delete(Long id);

    /**
     * 移入回收站
     * @param id
     */
    void remove(Long id);

    /**
     * 还原从回收站中
     * @param id
     */
    void back(Long id);

    /**
     * 入库审核
     * @param id
     */
    void publish(Long id);

    /**
     * 所有入库记录
     * @return
     */
    List<InStock> findAll();
}
